package com.dataStructures.linearlist;

//顺序线性表
public interface LinearList<T> {
    //通过元素, 先查找下标, 然后删除.
    void delete(T t);

    //通过下标删除元素
    void delete(int index);

    //插入元素
    int insert(int index, T t);

    int addElement(T t);

    //当传入传输t是元素集合中的元素且不是第一个, 则返回他的前驱
    T preElem(T t);

    //当传入传输t是元素集合中的元素且不是最后一个, 则返回他的后继
    T nextElem(T t);

    //返回第一个和 t 元素相同的元素下标, 如果不存在返回 -1
    int index(T t);

    //返回下标为 index 的元素
    T get(int index);

    //线性表长度
    int length();

    //是否是空表
    boolean isEmpty();

    //将包重置为空表
    void clear();

    //销毁线性表
    void destroy();
}
